; ModuleID = '53is1b7osavsj2gq'
source_filename = "53is1b7osavsj2gq"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"core::fmt::Arguments" = type { [0 x i64], { [0 x { [0 x i8]*, i64 }]*, i64 }, [0 x i64], { i64*, i64 }, [0 x i64], { [0 x { i8*, i8* }]*, i64 }, [0 x i64] }
%"unwind::libunwind::_Unwind_Exception" = type { [0 x i64], i64, [0 x i64], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i64], [6 x i64], [0 x i64] }
%"unwind::libunwind::_Unwind_Context" = type { [0 x i8] }

@vtable.0 = private unnamed_addr constant { void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* } { void (i8**)* @_ZN4core3ptr13drop_in_place17h0074fb083e6c4e6eE, i64 8, i64 8, i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E", i32 (i8**)* @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E", i32 (i8**)* @"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb0c85d0849a149d8E" }, align 8, !dbg !0
@alloc1 = private unnamed_addr constant <{ [25 x i8] }> <{ [25 x i8] c"Hello Address Sanitizer!\0A" }>, align 1
@alloc2 = private unnamed_addr constant <{ i8*, [8 x i8] }> <{ i8* getelementptr inbounds (<{ [25 x i8] }>, <{ [25 x i8] }>* @alloc1, i32 0, i32 0, i32 0), [8 x i8] c"\19\00\00\00\00\00\00\00" }>, align 8
@0 = private unnamed_addr constant <{ i8*, [0 x i8] }> <{ i8* bitcast (<{ i8*, [8 x i8] }>* @alloc2 to i8*), [0 x i8] zeroinitializer }>, align 8
@alloc6 = private unnamed_addr constant <{ [0 x i8] }> zeroinitializer, align 8
@1 = private unnamed_addr constant <{ i8*, [0 x i8] }> <{ i8* getelementptr inbounds (<{ [0 x i8] }>, <{ [0 x i8] }>* @alloc6, i32 0, i32 0, i32 0), [0 x i8] zeroinitializer }>, align 8
@__rustc_debug_gdb_scripts_section__ = linkonce_odr unnamed_addr constant [34 x i8] c"\01gdb_load_rust_pretty_printers.py\00", section ".debug_gdb_scripts", align 1

; std::rt::lang_start
; Function Attrs: nonlazybind uwtable
define hidden i64 @_ZN3std2rt10lang_start17h15e9f32ee4291f46E(void ()* nonnull %main, i64 %argc, i8** %argv) unnamed_addr #0 !dbg !38 {
start:
  %argv.dbg.spill = alloca i8**, align 8
  %argc.dbg.spill = alloca i64, align 8
  %main.dbg.spill = alloca void ()*, align 8
  %_7 = alloca i8*, align 8
  store void ()* %main, void ()** %main.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata void ()** %main.dbg.spill, metadata !46, metadata !DIExpression()), !dbg !52
  store i64 %argc, i64* %argc.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i64* %argc.dbg.spill, metadata !47, metadata !DIExpression()), !dbg !53
  store i8** %argv, i8*** %argv.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %argv.dbg.spill, metadata !48, metadata !DIExpression()), !dbg !54
  %0 = bitcast i8** %_7 to void ()**, !dbg !55
  store void ()* %main, void ()** %0, align 8, !dbg !55
  %_4.0 = bitcast i8** %_7 to {}*, !dbg !56
; call std::rt::lang_start_internal
  %1 = call i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1 %_4.0, [3 x i64]* noalias readonly align 8 dereferenceable(24) bitcast ({ void (i8**)*, i64, i64, i32 (i8**)*, i32 (i8**)*, i32 (i8**)* }* @vtable.0 to [3 x i64]*), i64 %argc, i8** %argv), !dbg !57
  br label %bb1, !dbg !57

bb1:                                              ; preds = %start
  ret i64 %1, !dbg !58
}

; std::rt::lang_start::{{closure}}
; Function Attrs: nonlazybind uwtable
define internal i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E"(i8** noalias readonly align 8 dereferenceable(8) %_1) unnamed_addr #0 !dbg !59 {
start:
  %_1.dbg.spill = alloca i8**, align 8
  store i8** %_1, i8*** %_1.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %_1.dbg.spill, metadata !65, metadata !DIExpression(DW_OP_deref)), !dbg !66
  %0 = bitcast i8** %_1 to void ()**, !dbg !67
  %_3 = load void ()*, void ()** %0, align 8, !dbg !67, !nonnull !4
  call void %_3(), !dbg !67
  br label %bb1, !dbg !67

bb1:                                              ; preds = %start
; call <() as std::process::Termination>::report
  %1 = call i32 @"_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17hf578ed44384d1e36E"(), !dbg !67
  br label %bb2, !dbg !67

bb2:                                              ; preds = %bb1
  ret i32 %1, !dbg !68
}

; std::sys::unix::process::process_common::ExitCode::as_i32
; Function Attrs: inlinehint nonlazybind uwtable
define internal i32 @_ZN3std3sys4unix7process14process_common8ExitCode6as_i3217h399529eb8c2b9b12E(i8* noalias readonly align 1 dereferenceable(1) %self) unnamed_addr #1 !dbg !69 {
start:
  %self.dbg.spill = alloca i8*, align 8
  store i8* %self, i8** %self.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8** %self.dbg.spill, metadata !82, metadata !DIExpression()), !dbg !83
  %_2 = load i8, i8* %self, align 1, !dbg !84
  %0 = zext i8 %_2 to i32, !dbg !84
  ret i32 %0, !dbg !85
}

; core::fmt::Arguments::new_v1
; Function Attrs: inlinehint nonlazybind uwtable
define internal void @_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %0, [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly align 8 %pieces.0, i64 %pieces.1, [0 x { i8*, i8* }]* noalias nonnull readonly align 8 %args.0, i64 %args.1) unnamed_addr #1 !dbg !86 {
start:
  %args.dbg.spill = alloca { [0 x { i8*, i8* }]*, i64 }, align 8
  %pieces.dbg.spill = alloca { [0 x { [0 x i8]*, i64 }]*, i64 }, align 8
  %_4 = alloca { i64*, i64 }, align 8
  %1 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces.dbg.spill, i32 0, i32 0
  store [0 x { [0 x i8]*, i64 }]* %pieces.0, [0 x { [0 x i8]*, i64 }]** %1, align 8
  %2 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces.dbg.spill, i32 0, i32 1
  store i64 %pieces.1, i64* %2, align 8
  call void @llvm.dbg.declare(metadata { [0 x { [0 x i8]*, i64 }]*, i64 }* %pieces.dbg.spill, metadata !198, metadata !DIExpression()), !dbg !200
  %3 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %args.dbg.spill, i32 0, i32 0
  store [0 x { i8*, i8* }]* %args.0, [0 x { i8*, i8* }]** %3, align 8
  %4 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %args.dbg.spill, i32 0, i32 1
  store i64 %args.1, i64* %4, align 8
  call void @llvm.dbg.declare(metadata { [0 x { i8*, i8* }]*, i64 }* %args.dbg.spill, metadata !199, metadata !DIExpression()), !dbg !201
  %5 = bitcast { i64*, i64 }* %_4 to {}**, !dbg !202
  store {}* null, {}** %5, align 8, !dbg !202
  %6 = bitcast %"core::fmt::Arguments"* %0 to { [0 x { [0 x i8]*, i64 }]*, i64 }*, !dbg !203
  %7 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %6, i32 0, i32 0, !dbg !203
  store [0 x { [0 x i8]*, i64 }]* %pieces.0, [0 x { [0 x i8]*, i64 }]** %7, align 8, !dbg !203
  %8 = getelementptr inbounds { [0 x { [0 x i8]*, i64 }]*, i64 }, { [0 x { [0 x i8]*, i64 }]*, i64 }* %6, i32 0, i32 1, !dbg !203
  store i64 %pieces.1, i64* %8, align 8, !dbg !203
  %9 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 3, !dbg !203
  %10 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %_4, i32 0, i32 0, !dbg !203
  %11 = load i64*, i64** %10, align 8, !dbg !203
  %12 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %_4, i32 0, i32 1, !dbg !203
  %13 = load i64, i64* %12, align 8, !dbg !203
  %14 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %9, i32 0, i32 0, !dbg !203
  store i64* %11, i64** %14, align 8, !dbg !203
  %15 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %9, i32 0, i32 1, !dbg !203
  store i64 %13, i64* %15, align 8, !dbg !203
  %16 = getelementptr inbounds %"core::fmt::Arguments", %"core::fmt::Arguments"* %0, i32 0, i32 5, !dbg !203
  %17 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %16, i32 0, i32 0, !dbg !203
  store [0 x { i8*, i8* }]* %args.0, [0 x { i8*, i8* }]** %17, align 8, !dbg !203
  %18 = getelementptr inbounds { [0 x { i8*, i8* }]*, i64 }, { [0 x { i8*, i8* }]*, i64 }* %16, i32 0, i32 1, !dbg !203
  store i64 %args.1, i64* %18, align 8, !dbg !203
  ret void, !dbg !204
}

; core::ops::function::FnOnce::call_once{{vtable.shim}}
; Function Attrs: nonlazybind uwtable
define internal i32 @"_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb0c85d0849a149d8E"(i8** %_1) unnamed_addr #0 !dbg !205 {
start:
  %_1.dbg.spill = alloca i8**, align 8
  %_2 = alloca {}, align 1
  store i8** %_1, i8*** %_1.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %_1.dbg.spill, metadata !214, metadata !DIExpression()), !dbg !219
  call void @llvm.dbg.declare(metadata {}* %_2, metadata !215, metadata !DIExpression()), !dbg !219
  %0 = load i8*, i8** %_1, align 8, !dbg !219, !nonnull !4
; call core::ops::function::FnOnce::call_once
  %1 = call i32 @_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE(i8* nonnull %0), !dbg !219
  br label %bb1, !dbg !219

bb1:                                              ; preds = %start
  ret i32 %1, !dbg !219
}

; core::ops::function::FnOnce::call_once
; Function Attrs: nonlazybind uwtable
define internal i32 @_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE(i8* nonnull %0) unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality !dbg !220 {
start:
  %1 = alloca { i8*, i32 }, align 8
  %_2 = alloca {}, align 1
  %_1 = alloca i8*, align 8
  store i8* %0, i8** %_1, align 8
  call void @llvm.dbg.declare(metadata i8** %_1, metadata !224, metadata !DIExpression()), !dbg !226
  call void @llvm.dbg.declare(metadata {}* %_2, metadata !225, metadata !DIExpression()), !dbg !226
; invoke std::rt::lang_start::{{closure}}
  %2 = invoke i32 @"_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E"(i8** noalias readonly align 8 dereferenceable(8) %_1)
          to label %bb1 unwind label %cleanup, !dbg !226

bb1:                                              ; preds = %start
  br label %bb2, !dbg !226

bb2:                                              ; preds = %bb1
  ret i32 %2, !dbg !226

bb3:                                              ; preds = %cleanup
  br label %bb4, !dbg !226

bb4:                                              ; preds = %bb3
  %3 = bitcast { i8*, i32 }* %1 to i8**, !dbg !226
  %4 = load i8*, i8** %3, align 8, !dbg !226
  %5 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %1, i32 0, i32 1, !dbg !226
  %6 = load i32, i32* %5, align 8, !dbg !226
  %7 = insertvalue { i8*, i32 } undef, i8* %4, 0, !dbg !226
  %8 = insertvalue { i8*, i32 } %7, i32 %6, 1, !dbg !226
  resume { i8*, i32 } %8, !dbg !226

cleanup:                                          ; preds = %start
  %9 = landingpad { i8*, i32 }
          cleanup
  %10 = extractvalue { i8*, i32 } %9, 0
  %11 = extractvalue { i8*, i32 } %9, 1
  %12 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %1, i32 0, i32 0
  store i8* %10, i8** %12, align 8
  %13 = getelementptr inbounds { i8*, i32 }, { i8*, i32 }* %1, i32 0, i32 1
  store i32 %11, i32* %13, align 8
  br label %bb3
}

; core::ptr::drop_in_place
; Function Attrs: nonlazybind uwtable
define internal void @_ZN4core3ptr13drop_in_place17h0074fb083e6c4e6eE(i8** %_1) unnamed_addr #0 !dbg !227 {
start:
  %_1.dbg.spill = alloca i8**, align 8
  %0 = alloca {}, align 1
  store i8** %_1, i8*** %_1.dbg.spill, align 8
  call void @llvm.dbg.declare(metadata i8*** %_1.dbg.spill, metadata !233, metadata !DIExpression()), !dbg !236
  ret void, !dbg !236
}

; <() as std::process::Termination>::report
; Function Attrs: inlinehint nonlazybind uwtable
define internal i32 @"_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17hf578ed44384d1e36E"() unnamed_addr #1 !dbg !237 {
start:
  %self.dbg.spill = alloca {}, align 1
  call void @llvm.dbg.declare(metadata {}* %self.dbg.spill, metadata !244, metadata !DIExpression()), !dbg !245
; call <std::process::ExitCode as std::process::Termination>::report
  %0 = call i32 @"_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE"(i8 0), !dbg !246
  br label %bb1, !dbg !246

bb1:                                              ; preds = %start
  ret i32 %0, !dbg !247
}

; <std::process::ExitCode as std::process::Termination>::report
; Function Attrs: inlinehint nonlazybind uwtable
define internal i32 @"_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE"(i8 %0) unnamed_addr #1 !dbg !248 {
start:
  %self = alloca i8, align 1
  store i8 %0, i8* %self, align 1
  call void @llvm.dbg.declare(metadata i8* %self, metadata !255, metadata !DIExpression()), !dbg !256
; call std::sys::unix::process::process_common::ExitCode::as_i32
  %1 = call i32 @_ZN3std3sys4unix7process14process_common8ExitCode6as_i3217h399529eb8c2b9b12E(i8* noalias readonly align 1 dereferenceable(1) %self), !dbg !257
  br label %bb1, !dbg !257

bb1:                                              ; preds = %start
  ret i32 %1, !dbg !258
}

; empty::main
; Function Attrs: nonlazybind uwtable
define internal void @_ZN5empty4main17hcfd8d79313798e06E() unnamed_addr #0 !dbg !259 {
start:
  %_2 = alloca %"core::fmt::Arguments", align 8
  %_10 = load [1 x { [0 x i8]*, i64 }]*, [1 x { [0 x i8]*, i64 }]** bitcast (<{ i8*, [0 x i8] }>* @0 to [1 x { [0 x i8]*, i64 }]**), align 8, !dbg !262, !nonnull !4
  %_3.0 = bitcast [1 x { [0 x i8]*, i64 }]* %_10 to [0 x { [0 x i8]*, i64 }]*, !dbg !262
  %_9 = load [0 x { i8*, i8* }]*, [0 x { i8*, i8* }]** bitcast (<{ i8*, [0 x i8] }>* @1 to [0 x { i8*, i8* }]**), align 8, !dbg !263, !nonnull !4
; call core::fmt::Arguments::new_v1
  call void @_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E(%"core::fmt::Arguments"* noalias nocapture sret dereferenceable(48) %_2, [0 x { [0 x i8]*, i64 }]* noalias nonnull readonly align 8 %_3.0, i64 1, [0 x { i8*, i8* }]* noalias nonnull readonly align 8 %_9, i64 0), !dbg !263
  br label %bb1, !dbg !263

bb1:                                              ; preds = %start
; call std::io::stdio::_print
  call void @_ZN3std2io5stdio6_print17h35ebd65662fa8b15E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48) %_2), !dbg !263
  br label %bb2, !dbg !263

bb2:                                              ; preds = %bb1
  ret void, !dbg !264
}

; Function Attrs: nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #2

; std::rt::lang_start_internal
; Function Attrs: nonlazybind uwtable
declare i64 @_ZN3std2rt19lang_start_internal17hf4abd869024c3270E({}* nonnull align 1, [3 x i64]* noalias readonly align 8 dereferenceable(24), i64, i8**) unnamed_addr #0

; Function Attrs: nounwind nonlazybind uwtable
declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #3

; std::io::stdio::_print
; Function Attrs: nonlazybind uwtable
declare void @_ZN3std2io5stdio6_print17h35ebd65662fa8b15E(%"core::fmt::Arguments"* noalias nocapture dereferenceable(48)) unnamed_addr #0

; Function Attrs: nonlazybind
define i32 @main(i32 %0, i8** %1) unnamed_addr #4 {
top:
  %2 = load volatile i8, i8* getelementptr inbounds ([34 x i8], [34 x i8]* @__rustc_debug_gdb_scripts_section__, i32 0, i32 0), align 1
  %3 = sext i32 %0 to i64
; call std::rt::lang_start
  %4 = call i64 @_ZN3std2rt10lang_start17h15e9f32ee4291f46E(void ()* @_ZN5empty4main17hcfd8d79313798e06E, i64 %3, i8** %1)
  %5 = trunc i64 %4 to i32
  ret i32 %5
}

attributes #0 = { nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
attributes #1 = { inlinehint nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
attributes #2 = { nounwind readnone speculatable willreturn }
attributes #3 = { nounwind nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" }
attributes #4 = { nonlazybind "target-cpu"="x86-64" }

!llvm.module.flags = !{!14, !15, !16, !17}
!llvm.dbg.cu = !{!18}

!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "vtable", scope: null, file: !2, type: !3, isLocal: true, isDefinition: true)
!2 = !DIFile(filename: "<unknown>", directory: "")
!3 = !DICompositeType(tag: DW_TAG_structure_type, name: "vtable", file: !2, align: 64, flags: DIFlagArtificial, elements: !4, vtableHolder: !5, identifier: "vtable")
!4 = !{}
!5 = !DICompositeType(tag: DW_TAG_structure_type, name: "closure-0", scope: !6, file: !2, size: 64, align: 64, elements: !9, templateParams: !4, identifier: "30e6ecfd0796128d83149dc1f9ab4ee3")
!6 = !DINamespace(name: "lang_start", scope: !7)
!7 = !DINamespace(name: "rt", scope: !8)
!8 = !DINamespace(name: "std", scope: null)
!9 = !{!10}
!10 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !5, file: !2, baseType: !11, size: 64, align: 64)
!11 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn()", baseType: !12, size: 64, align: 64, dwarfAddressSpace: 0)
!12 = !DISubroutineType(types: !13)
!13 = !{null}
!14 = !{i32 7, !"PIC Level", i32 2}
!15 = !{i32 7, !"PIE Level", i32 2}
!16 = !{i32 2, !"RtLibUseGOT", i32 1}
!17 = !{i32 2, !"Debug Info Version", i32 3}
!18 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !19, producer: "clang LLVM (rustc version 1.46.0-nightly (feb3536eb 2020-06-09))", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !20, globals: !37)
!19 = !DIFile(filename: "src/empty.rs", directory: "/home/vagrant/proj/rust/mycode/rust_test")
!20 = !{!21, !32}
!21 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Alignment", scope: !22, file: !2, baseType: !26, size: 8, align: 8, flags: DIFlagEnumClass, elements: !27)
!22 = !DINamespace(name: "v1", scope: !23)
!23 = !DINamespace(name: "rt", scope: !24)
!24 = !DINamespace(name: "fmt", scope: !25)
!25 = !DINamespace(name: "core", scope: null)
!26 = !DIBasicType(name: "u8", size: 8, encoding: DW_ATE_unsigned)
!27 = !{!28, !29, !30, !31}
!28 = !DIEnumerator(name: "Left", value: 0)
!29 = !DIEnumerator(name: "Right", value: 1)
!30 = !DIEnumerator(name: "Center", value: 2)
!31 = !DIEnumerator(name: "Unknown", value: 3)
!32 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !33, file: !2, baseType: !26, size: 8, align: 8, flags: DIFlagEnumClass, elements: !34)
!33 = !DINamespace(name: "result", scope: !25)
!34 = !{!35, !36}
!35 = !DIEnumerator(name: "Ok", value: 0)
!36 = !DIEnumerator(name: "Err", value: 1)
!37 = !{!0}
!38 = distinct !DISubprogram(name: "lang_start<()>", linkageName: "_ZN3std2rt10lang_start17h15e9f32ee4291f46E", scope: !7, file: !39, line: 62, type: !40, scopeLine: 62, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !49, retainedNodes: !45)
!39 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/rt.rs", directory: "", checksumkind: CSK_MD5, checksum: "580128330782ec7d1bbdaeb3149adfa0")
!40 = !DISubroutineType(types: !41)
!41 = !{!42, !11, !42, !43}
!42 = !DIBasicType(name: "isize", size: 64, encoding: DW_ATE_signed)
!43 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const *const u8", baseType: !44, size: 64, align: 64, dwarfAddressSpace: 0)
!44 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !26, size: 64, align: 64, dwarfAddressSpace: 0)
!45 = !{!46, !47, !48}
!46 = !DILocalVariable(name: "main", arg: 1, scope: !38, file: !39, line: 63, type: !11)
!47 = !DILocalVariable(name: "argc", arg: 2, scope: !38, file: !39, line: 64, type: !42)
!48 = !DILocalVariable(name: "argv", arg: 3, scope: !38, file: !39, line: 65, type: !43)
!49 = !{!50}
!50 = !DITemplateTypeParameter(name: "T", type: !51)
!51 = !DIBasicType(name: "()", encoding: DW_ATE_unsigned)
!52 = !DILocation(line: 63, column: 5, scope: !38)
!53 = !DILocation(line: 64, column: 5, scope: !38)
!54 = !DILocation(line: 65, column: 5, scope: !38)
!55 = !DILocation(line: 67, column: 26, scope: !38)
!56 = !DILocation(line: 67, column: 25, scope: !38)
!57 = !DILocation(line: 67, column: 5, scope: !38)
!58 = !DILocation(line: 68, column: 2, scope: !38)
!59 = distinct !DISubprogram(name: "{{closure}}<()>", linkageName: "_ZN3std2rt10lang_start28_$u7b$$u7b$closure$u7d$$u7d$17h1e4795552e8e0951E", scope: !6, file: !39, line: 67, type: !60, scopeLine: 67, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !49, retainedNodes: !64)
!60 = !DISubroutineType(types: !61)
!61 = !{!62, !63}
!62 = !DIBasicType(name: "i32", size: 32, encoding: DW_ATE_signed)
!63 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&closure-0", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 0)
!64 = !{!65}
!65 = !DILocalVariable(name: "main", scope: !59, file: !39, line: 63, type: !11, align: 8)
!66 = !DILocation(line: 63, column: 5, scope: !59)
!67 = !DILocation(line: 67, column: 34, scope: !59)
!68 = !DILocation(line: 67, column: 49, scope: !59)
!69 = distinct !DISubprogram(name: "as_i32", linkageName: "_ZN3std3sys4unix7process14process_common8ExitCode6as_i3217h399529eb8c2b9b12E", scope: !71, file: !70, line: 398, type: !78, scopeLine: 398, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !4, retainedNodes: !81)
!70 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/sys/unix/process/process_common.rs", directory: "", checksumkind: CSK_MD5, checksum: "620f5402e8ba314453e210d5cb93d802")
!71 = !DICompositeType(tag: DW_TAG_structure_type, name: "ExitCode", scope: !72, file: !2, size: 8, align: 8, elements: !76, templateParams: !4, identifier: "904fd8e0e1db8d48b830536eea7f523e")
!72 = !DINamespace(name: "process_common", scope: !73)
!73 = !DINamespace(name: "process", scope: !74)
!74 = !DINamespace(name: "unix", scope: !75)
!75 = !DINamespace(name: "sys", scope: !8)
!76 = !{!77}
!77 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !71, file: !2, baseType: !26, size: 8, align: 8)
!78 = !DISubroutineType(types: !79)
!79 = !{!62, !80}
!80 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::sys::unix::process::process_common::ExitCode", baseType: !71, size: 64, align: 64, dwarfAddressSpace: 0)
!81 = !{!82}
!82 = !DILocalVariable(name: "self", arg: 1, scope: !69, file: !70, line: 398, type: !80)
!83 = !DILocation(line: 398, column: 19, scope: !69)
!84 = !DILocation(line: 399, column: 9, scope: !69)
!85 = !DILocation(line: 400, column: 6, scope: !69)
!86 = distinct !DISubprogram(name: "new_v1", linkageName: "_ZN4core3fmt9Arguments6new_v117h3fb42a429548f456E", scope: !88, file: !87, line: 327, type: !195, scopeLine: 327, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !4, retainedNodes: !197)
!87 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/fmt/mod.rs", directory: "", checksumkind: CSK_MD5, checksum: "d51e9a53dcfda96bc5d8d2f208c290b9")
!88 = !DICompositeType(tag: DW_TAG_structure_type, name: "Arguments", scope: !24, file: !2, size: 384, align: 64, elements: !89, templateParams: !4, identifier: "6e6ef8caea430a23fadd175c559bc8e4")
!89 = !{!90, !101, !150}
!90 = !DIDerivedType(tag: DW_TAG_member, name: "pieces", scope: !88, file: !2, baseType: !91, size: 128, align: 64)
!91 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[&str]", file: !2, size: 128, align: 64, elements: !92, templateParams: !4, identifier: "e5181a2ba73cefd2b9372dc5646453a9")
!92 = !{!93, !100}
!93 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !91, file: !2, baseType: !94, size: 64, align: 64)
!94 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const &str", baseType: !95, size: 64, align: 64, dwarfAddressSpace: 0)
!95 = !DICompositeType(tag: DW_TAG_structure_type, name: "&str", file: !2, size: 128, align: 64, elements: !96, templateParams: !4, identifier: "7ef2a91eecc7bcf4b4aaea2dbce79437")
!96 = !{!97, !98}
!97 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !95, file: !2, baseType: !44, size: 64, align: 64)
!98 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !95, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!99 = !DIBasicType(name: "usize", size: 64, encoding: DW_ATE_unsigned)
!100 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !91, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!101 = !DIDerivedType(tag: DW_TAG_member, name: "fmt", scope: !88, file: !2, baseType: !102, size: 128, align: 64, offset: 128)
!102 = !DICompositeType(tag: DW_TAG_structure_type, name: "Option<&[core::fmt::rt::v1::Argument]>", scope: !103, file: !2, size: 128, align: 64, elements: !104, identifier: "4c4e7ce97b241d8f1f0976510706f590")
!103 = !DINamespace(name: "option", scope: !25)
!104 = !{!105}
!105 = !DICompositeType(tag: DW_TAG_variant_part, scope: !103, file: !2, size: 128, align: 64, elements: !106, templateParams: !109, identifier: "4c4e7ce97b241d8f1f0976510706f590_variant_part", discriminator: !149)
!106 = !{!107, !145}
!107 = !DIDerivedType(tag: DW_TAG_member, name: "None", scope: !105, file: !2, baseType: !108, size: 128, align: 64, extraData: i64 0)
!108 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !102, file: !2, size: 128, align: 64, elements: !4, templateParams: !109, identifier: "4c4e7ce97b241d8f1f0976510706f590::None")
!109 = !{!110}
!110 = !DITemplateTypeParameter(name: "T", type: !111)
!111 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::rt::v1::Argument]", file: !2, size: 128, align: 64, elements: !112, templateParams: !4, identifier: "71eeae0474d7f7b239ed91fc47f9d3a4")
!112 = !{!113, !144}
!113 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !111, file: !2, baseType: !114, size: 64, align: 64)
!114 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::rt::v1::Argument", baseType: !115, size: 64, align: 64, dwarfAddressSpace: 0)
!115 = !DICompositeType(tag: DW_TAG_structure_type, name: "Argument", scope: !22, file: !2, size: 448, align: 64, elements: !116, templateParams: !4, identifier: "97a2ecc05ee0e0a27388291cc1981c48")
!116 = !{!117, !118}
!117 = !DIDerivedType(tag: DW_TAG_member, name: "position", scope: !115, file: !2, baseType: !99, size: 64, align: 64)
!118 = !DIDerivedType(tag: DW_TAG_member, name: "format", scope: !115, file: !2, baseType: !119, size: 384, align: 64, offset: 64)
!119 = !DICompositeType(tag: DW_TAG_structure_type, name: "FormatSpec", scope: !22, file: !2, size: 384, align: 64, elements: !120, templateParams: !4, identifier: "87e86faef3e70c7728308d50179069cf")
!120 = !{!121, !123, !124, !126, !143}
!121 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !119, file: !2, baseType: !122, size: 32, align: 32, offset: 256)
!122 = !DIBasicType(name: "char", size: 32, encoding: DW_ATE_unsigned_char)
!123 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !119, file: !2, baseType: !21, size: 8, align: 8, offset: 320)
!124 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !119, file: !2, baseType: !125, size: 32, align: 32, offset: 288)
!125 = !DIBasicType(name: "u32", size: 32, encoding: DW_ATE_unsigned)
!126 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !119, file: !2, baseType: !127, size: 128, align: 64)
!127 = !DICompositeType(tag: DW_TAG_structure_type, name: "Count", scope: !22, file: !2, size: 128, align: 64, elements: !128, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f")
!128 = !{!129}
!129 = !DICompositeType(tag: DW_TAG_variant_part, scope: !22, file: !2, size: 128, align: 64, elements: !130, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f_variant_part", discriminator: !141)
!130 = !{!131, !135, !139}
!131 = !DIDerivedType(tag: DW_TAG_member, name: "Is", scope: !129, file: !2, baseType: !132, size: 128, align: 64, extraData: i64 0)
!132 = !DICompositeType(tag: DW_TAG_structure_type, name: "Is", scope: !127, file: !2, size: 128, align: 64, elements: !133, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f::Is")
!133 = !{!134}
!134 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !132, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!135 = !DIDerivedType(tag: DW_TAG_member, name: "Param", scope: !129, file: !2, baseType: !136, size: 128, align: 64, extraData: i64 1)
!136 = !DICompositeType(tag: DW_TAG_structure_type, name: "Param", scope: !127, file: !2, size: 128, align: 64, elements: !137, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f::Param")
!137 = !{!138}
!138 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !136, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!139 = !DIDerivedType(tag: DW_TAG_member, name: "Implied", scope: !129, file: !2, baseType: !140, size: 128, align: 64, extraData: i64 2)
!140 = !DICompositeType(tag: DW_TAG_structure_type, name: "Implied", scope: !127, file: !2, size: 128, align: 64, elements: !4, templateParams: !4, identifier: "a3446b1b916b3c2fb67fa58ef30e2c7f::Implied")
!141 = !DIDerivedType(tag: DW_TAG_member, scope: !22, file: !2, baseType: !142, size: 64, align: 64, flags: DIFlagArtificial)
!142 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned)
!143 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !119, file: !2, baseType: !127, size: 128, align: 64, offset: 128)
!144 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !111, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!145 = !DIDerivedType(tag: DW_TAG_member, name: "Some", scope: !105, file: !2, baseType: !146, size: 128, align: 64)
!146 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !102, file: !2, size: 128, align: 64, elements: !147, templateParams: !109, identifier: "4c4e7ce97b241d8f1f0976510706f590::Some")
!147 = !{!148}
!148 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !146, file: !2, baseType: !111, size: 128, align: 64)
!149 = !DIDerivedType(tag: DW_TAG_member, scope: !103, file: !2, baseType: !142, size: 64, align: 64, flags: DIFlagArtificial)
!150 = !DIDerivedType(tag: DW_TAG_member, name: "args", scope: !88, file: !2, baseType: !151, size: 128, align: 64, offset: 256)
!151 = !DICompositeType(tag: DW_TAG_structure_type, name: "&[core::fmt::ArgumentV1]", file: !2, size: 128, align: 64, elements: !152, templateParams: !4, identifier: "7a35ee309ed86080b6b92be07245264f")
!152 = !{!153, !194}
!153 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !151, file: !2, baseType: !154, size: 64, align: 64)
!154 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const core::fmt::ArgumentV1", baseType: !155, size: 64, align: 64, dwarfAddressSpace: 0)
!155 = !DICompositeType(tag: DW_TAG_structure_type, name: "ArgumentV1", scope: !24, file: !2, size: 128, align: 64, elements: !156, templateParams: !4, identifier: "abbf711f5a27fb4ab3f51044eabcb5b9")
!156 = !{!157, !160}
!157 = !DIDerivedType(tag: DW_TAG_member, name: "value", scope: !155, file: !2, baseType: !158, size: 64, align: 64)
!158 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&core::fmt::::Opaque", baseType: !159, size: 64, align: 64, dwarfAddressSpace: 0)
!159 = !DICompositeType(tag: DW_TAG_structure_type, name: "Opaque", file: !2, align: 8, elements: !4, identifier: "933c26e667514c2ab87e217ed594690f")
!160 = !DIDerivedType(tag: DW_TAG_member, name: "formatter", scope: !155, file: !2, baseType: !161, size: 64, align: 64, offset: 64)
!161 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "fn(&core::fmt::::Opaque, &mut core::fmt::Formatter) -> core::result::Result<(), core::fmt::Error>", baseType: !162, size: 64, align: 64, dwarfAddressSpace: 0)
!162 = !DISubroutineType(types: !163)
!163 = !{!32, !158, !164}
!164 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut core::fmt::Formatter", baseType: !165, size: 64, align: 64, dwarfAddressSpace: 0)
!165 = !DICompositeType(tag: DW_TAG_structure_type, name: "Formatter", scope: !24, file: !2, size: 512, align: 64, elements: !166, templateParams: !4, identifier: "2b32fc1687cf03f460fc267e83d13f62")
!166 = !{!167, !168, !169, !170, !183, !184}
!167 = !DIDerivedType(tag: DW_TAG_member, name: "flags", scope: !165, file: !2, baseType: !125, size: 32, align: 32, offset: 384)
!168 = !DIDerivedType(tag: DW_TAG_member, name: "fill", scope: !165, file: !2, baseType: !122, size: 32, align: 32, offset: 416)
!169 = !DIDerivedType(tag: DW_TAG_member, name: "align", scope: !165, file: !2, baseType: !21, size: 8, align: 8, offset: 448)
!170 = !DIDerivedType(tag: DW_TAG_member, name: "width", scope: !165, file: !2, baseType: !171, size: 128, align: 64)
!171 = !DICompositeType(tag: DW_TAG_structure_type, name: "Option<usize>", scope: !103, file: !2, size: 128, align: 64, elements: !172, identifier: "c571b0abf319dfa9e93716c0e8f74925")
!172 = !{!173}
!173 = !DICompositeType(tag: DW_TAG_variant_part, scope: !103, file: !2, size: 128, align: 64, elements: !174, templateParams: !177, identifier: "c571b0abf319dfa9e93716c0e8f74925_variant_part", discriminator: !149)
!174 = !{!175, !179}
!175 = !DIDerivedType(tag: DW_TAG_member, name: "None", scope: !173, file: !2, baseType: !176, size: 128, align: 64, extraData: i64 0)
!176 = !DICompositeType(tag: DW_TAG_structure_type, name: "None", scope: !171, file: !2, size: 128, align: 64, elements: !4, templateParams: !177, identifier: "c571b0abf319dfa9e93716c0e8f74925::None")
!177 = !{!178}
!178 = !DITemplateTypeParameter(name: "T", type: !99)
!179 = !DIDerivedType(tag: DW_TAG_member, name: "Some", scope: !173, file: !2, baseType: !180, size: 128, align: 64, extraData: i64 1)
!180 = !DICompositeType(tag: DW_TAG_structure_type, name: "Some", scope: !171, file: !2, size: 128, align: 64, elements: !181, templateParams: !177, identifier: "c571b0abf319dfa9e93716c0e8f74925::Some")
!181 = !{!182}
!182 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !180, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!183 = !DIDerivedType(tag: DW_TAG_member, name: "precision", scope: !165, file: !2, baseType: !171, size: 128, align: 64, offset: 128)
!184 = !DIDerivedType(tag: DW_TAG_member, name: "buf", scope: !165, file: !2, baseType: !185, size: 128, align: 64, offset: 256)
!185 = !DICompositeType(tag: DW_TAG_structure_type, name: "&mut Write", scope: !24, file: !2, size: 128, align: 64, elements: !186, templateParams: !4, identifier: "50c81d7df1720d3afbc054cf5b7553f9")
!186 = !{!187, !189}
!187 = !DIDerivedType(tag: DW_TAG_member, name: "pointer", scope: !185, file: !2, baseType: !188, size: 64, align: 64, flags: DIFlagArtificial)
!188 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut u8", baseType: !26, size: 64, align: 64, dwarfAddressSpace: 0)
!189 = !DIDerivedType(tag: DW_TAG_member, name: "vtable", scope: !185, file: !2, baseType: !190, size: 64, align: 64, offset: 64, flags: DIFlagArtificial)
!190 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&[usize; 3]", baseType: !191, size: 64, align: 64, dwarfAddressSpace: 0)
!191 = !DICompositeType(tag: DW_TAG_array_type, baseType: !99, size: 192, align: 64, elements: !192)
!192 = !{!193}
!193 = !DISubrange(count: 3)
!194 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !151, file: !2, baseType: !99, size: 64, align: 64, offset: 64)
!195 = !DISubroutineType(types: !196)
!196 = !{!88, !91, !151}
!197 = !{!198, !199}
!198 = !DILocalVariable(name: "pieces", arg: 1, scope: !86, file: !87, line: 327, type: !91)
!199 = !DILocalVariable(name: "args", arg: 2, scope: !86, file: !87, line: 327, type: !151)
!200 = !DILocation(line: 327, column: 19, scope: !86)
!201 = !DILocation(line: 327, column: 42, scope: !86)
!202 = !DILocation(line: 328, column: 34, scope: !86)
!203 = !DILocation(line: 328, column: 9, scope: !86)
!204 = !DILocation(line: 329, column: 6, scope: !86)
!205 = distinct !DISubprogram(name: "call_once<closure-0,()>", linkageName: "_ZN4core3ops8function6FnOnce40call_once$u7b$$u7b$vtable.shim$u7d$$u7d$17hb0c85d0849a149d8E", scope: !207, file: !206, line: 232, type: !210, scopeLine: 232, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !216, retainedNodes: !213)
!206 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ops/function.rs", directory: "", checksumkind: CSK_MD5, checksum: "4e38de05081e36b7316ccfac06754856")
!207 = !DINamespace(name: "FnOnce", scope: !208)
!208 = !DINamespace(name: "function", scope: !209)
!209 = !DINamespace(name: "ops", scope: !25)
!210 = !DISubroutineType(types: !211)
!211 = !{!62, !212}
!212 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut closure-0", baseType: !5, size: 64, align: 64, dwarfAddressSpace: 0)
!213 = !{!214, !215}
!214 = !DILocalVariable(arg: 1, scope: !205, file: !206, line: 232, type: !212)
!215 = !DILocalVariable(arg: 2, scope: !205, file: !206, line: 232, type: !51)
!216 = !{!217, !218}
!217 = !DITemplateTypeParameter(name: "Self", type: !5)
!218 = !DITemplateTypeParameter(name: "Args", type: !51)
!219 = !DILocation(line: 232, column: 5, scope: !205)
!220 = distinct !DISubprogram(name: "call_once<closure-0,()>", linkageName: "_ZN4core3ops8function6FnOnce9call_once17hbf0b3fe2cde92a1dE", scope: !207, file: !206, line: 232, type: !221, scopeLine: 232, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !216, retainedNodes: !223)
!221 = !DISubroutineType(types: !222)
!222 = !{!62, !5}
!223 = !{!224, !225}
!224 = !DILocalVariable(arg: 1, scope: !220, file: !206, line: 232, type: !5)
!225 = !DILocalVariable(arg: 2, scope: !220, file: !206, line: 232, type: !51)
!226 = !DILocation(line: 232, column: 5, scope: !220)
!227 = distinct !DISubprogram(name: "drop_in_place<closure-0>", linkageName: "_ZN4core3ptr13drop_in_place17h0074fb083e6c4e6eE", scope: !229, file: !228, line: 184, type: !230, scopeLine: 184, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !234, retainedNodes: !232)
!228 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/ptr/mod.rs", directory: "", checksumkind: CSK_MD5, checksum: "3a5ba522fe2039fe5996ec730d3af763")
!229 = !DINamespace(name: "ptr", scope: !25)
!230 = !DISubroutineType(types: !231)
!231 = !{null, !212}
!232 = !{!233}
!233 = !DILocalVariable(arg: 1, scope: !227, file: !228, line: 184, type: !212)
!234 = !{!235}
!235 = !DITemplateTypeParameter(name: "T", type: !5)
!236 = !DILocation(line: 184, column: 1, scope: !227)
!237 = distinct !DISubprogram(name: "report", linkageName: "_ZN54_$LT$$LP$$RP$$u20$as$u20$std..process..Termination$GT$6report17hf578ed44384d1e36E", scope: !239, file: !238, line: 1667, type: !241, scopeLine: 1667, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !4, retainedNodes: !243)
!238 = !DIFile(filename: "/home/vagrant/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd/process.rs", directory: "", checksumkind: CSK_MD5, checksum: "bfa554ca649d4c8c8d446b86ff55b4bf")
!239 = !DINamespace(name: "{{impl}}", scope: !240)
!240 = !DINamespace(name: "process", scope: !8)
!241 = !DISubroutineType(types: !242)
!242 = !{!62, !51}
!243 = !{!244}
!244 = !DILocalVariable(name: "self", arg: 1, scope: !237, file: !238, line: 1667, type: !51)
!245 = !DILocation(line: 1667, column: 15, scope: !237)
!246 = !DILocation(line: 1668, column: 9, scope: !237)
!247 = !DILocation(line: 1669, column: 6, scope: !237)
!248 = distinct !DISubprogram(name: "report", linkageName: "_ZN68_$LT$std..process..ExitCode$u20$as$u20$std..process..Termination$GT$6report17h02a594f6e57d623eE", scope: !239, file: !238, line: 1701, type: !249, scopeLine: 1701, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !18, templateParams: !4, retainedNodes: !254)
!249 = !DISubroutineType(types: !250)
!250 = !{!62, !251}
!251 = !DICompositeType(tag: DW_TAG_structure_type, name: "ExitCode", scope: !240, file: !2, size: 8, align: 8, elements: !252, templateParams: !4, identifier: "9b5e6453961b0743a8ecfab92535235c")
!252 = !{!253}
!253 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !251, file: !2, baseType: !71, size: 8, align: 8)
!254 = !{!255}
!255 = !DILocalVariable(name: "self", arg: 1, scope: !248, file: !238, line: 1701, type: !251)
!256 = !DILocation(line: 1701, column: 15, scope: !248)
!257 = !DILocation(line: 1702, column: 9, scope: !248)
!258 = !DILocation(line: 1703, column: 6, scope: !248)
!259 = distinct !DISubprogram(name: "main", linkageName: "_ZN5empty4main17hcfd8d79313798e06E", scope: !261, file: !260, line: 2, type: !12, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition | DISPFlagMainSubprogram, unit: !18, templateParams: !4, retainedNodes: !4)
!260 = !DIFile(filename: "src/empty.rs", directory: "/home/vagrant/proj/rust/mycode/rust_test", checksumkind: CSK_MD5, checksum: "956b7e8be030416b72323bb5c43ebcc2")
!261 = !DINamespace(name: "empty", scope: null)
!262 = !DILocation(line: 3, column: 14, scope: !259)
!263 = !DILocation(line: 3, column: 5, scope: !259)
!264 = !DILocation(line: 4, column: 2, scope: !265)
!265 = !DILexicalBlockFile(scope: !259, file: !260, discriminator: 0)
